var QuizCore=function(t){"use strict";function aload(t,e,s=!1,i=!1,n=!0){const o=document,a=o.createElement("script");e&&(a.onload=e),s&&(a.fetchpriority=s),i&&(a.crossOrigin="anonymous"),n&&(a.async=!0),a.src=t;try{o.head.appendChild(a)}catch{document.documentElement.appendChild(a)}}function e(){return new Promise((t,e)=>{if(function(){const t=navigator.hardwareConcurrency,e=navigator.deviceMemory;return void 0===t&&void 0===e||void 0!==t&&t<=4||void 0!==e&&e<=2}()){const e={level:2,value:399};return window.BM_LEVEL=e.level,window.BM_VALUE=e.value,void t(e)}try{const s=new Blob(['\nfunction performCPUIntensiveTask() {\n var n = 0;\n for (var e = 0; e < 1e6; e++) {\n n += Math.sin(Math.cos(Math.tan(Math.sqrt(e))));\n }\n return n;\n}\n\nself.addEventListener("message", function(n) {\n var s = performance.now();\n performCPUIntensiveTask();\n var r = performance.now() - s;\n var level = r <= 35 ? 5 : r <= 60 ? 4 : r <= 75 ? 3 : r <= 150 ? 2 : 1;\n self.postMessage({ b: level, v: r });\n});\n'],{type:"text/javascript"}),i=new Worker(URL.createObjectURL(s));i.addEventListener("message",e=>{const s={level:e.data.b,value:e.data.v};window.BM_LEVEL=s.level,window.BM_VALUE=s.value,i.terminate(),t(s)}),i.addEventListener("error",t=>{i.terminate(),e(t)}),i.postMessage("")}catch(s){const e={level:2,value:399};window.BM_LEVEL=e.level,window.BM_VALUE=e.value,t(e)}})}function s(){const t=navigator.userAgent;return{isMan:!/phantomjs/i.test(t),isFB:/;FB/i.test(t),isWeixin:!1}}function i(t){return t+"RP"}function n(t=!1){window.scrollTo({top:0,left:0,behavior:t?"instant":"smooth"})}const o=window.requestAnimationFrame||function(t){return window.setTimeout(t,16)},a=window.requestIdleCallback||function(t){return window.setTimeout(()=>t({didTimeout:!1,timeRemaining:()=>50}),16)},r="12.2.0",l="arm-hc-cdn-index",c={jsdelivr:{index:0,combined:`https://cdn.jsdelivr.net/combine/npm/highcharts@${r}/highcharts.min.js,npm/highcharts@${r}/highcharts-more.js`},cdnjs:{index:1,main:`https://cdnjs.cloudflare.com/ajax/libs/highcharts/${r}/highcharts.js`,more:`https://cdnjs.cloudflare.com/ajax/libs/highcharts/${r}/highcharts-more.min.js`},official:{index:2,main:`https://code.highcharts.com/${r}/highcharts.js`,more:`https://code.highcharts.com/${r}/highcharts-more.js`}},h=`https://cdn.jsdelivr.net/combine/npm/highcharts@${r}/highcharts.min.js,npm/highcharts@${r}/highcharts-more.js`;function u(t){try{localStorage.setItem(l,String(t))}catch{}}function d(){try{const t=localStorage.getItem(l);return t?parseInt(t,10):0}catch{return 0}}const p=[function(t){aload(c.jsdelivr.combined,()=>{u(c.jsdelivr.index),t?.()})},function(t){aload(c.cdnjs.main,()=>{aload(c.cdnjs.more,()=>{u(c.cdnjs.index),t?.()})})},function(t){aload(c.official.main,()=>{aload(c.official.more,()=>{u(c.official.index),t?.()})})}];function m(){return void 0!==window.Highcharts}function g(t){if(m())return void t?.();const e=d(),s=[e,...[0,1,2].filter(t=>t!==e)];p[s[0]](t),setTimeout(()=>{m()||(p[s[1]](t),setTimeout(()=>{m()||p[s[2]](t)},9e3))},9e3)}function f(t){aload(h,t)}let w=!1;function b(){return w}function v(t){const{pageExtraV2:e,pageExtraLsKey:s}=t.scripts;return function(){w||(w=!0,aload(e,()=>{try{localStorage.setItem(s,"1")}catch{}}))}}function y(t,e=document){return e.querySelector(t)}function E(t,e=document){return Array.from(e.querySelectorAll(t))}function S(t,e,s,i){t.addEventListener(e,s,i)}class x{el;answerBtn;config;configObj=null;componentType;constructor(t){if(this.el=t,this.config=t.dataset.config||"",this.componentType=t.dataset.component||"",this.config)try{(this.config.startsWith("{")||this.config.startsWith("["))&&(this.configObj=JSON.parse(this.config))}catch(e){this.configObj=null}this.answerBtn=t.querySelector(".answer"),t._instance=this}updateValue(t,e=!0){this.answerBtn&&(this.answerBtn.setAttribute("value",t),e?this.answerBtn.classList.remove("unclickable"):this.answerBtn.classList.add("unclickable"))}getWrapper(){return this.el.querySelector(".questionWrapper")||this.el}qs(t){return this.el.querySelector(t)}qsa(t){return Array.from(this.el.querySelectorAll(t))}disableInteraction(){this.el.classList.add("pointer-events-none")}enableInteraction(){this.el.classList.remove("pointer-events-none")}getI18n(t){const e=window.QuizConfig?.components;if(!e)return;const s=e[this.componentType];return s?s[t]:void 0}}function C(t){if(!t||t.length<2)return["",0];const e=t.slice(0,-1),s=parseInt(t.charAt(t.length-1),10);return[e,isNaN(s)?0:s]}function _(t){if(!t||t.length<2)return["",0];const e=t.charAt(0),s=parseInt(t.slice(1),10);return[e,isNaN(s)?0:s]}function k(t){return Object.entries(t).filter(([,t])=>0!==t).map(([t,e])=>`${t}${e}`).join("x")}function L(t,e){const s={...t};return Object.entries(e).forEach(([t,e])=>{s[t]||(s[t]=0),s[t]+=e,s[t]=Math.min(9,s[t])}),s}function P(t,e=C){let s={};return t.forEach((t,i)=>{const n=function(t,e,s=C){const i={},n=Math.pow(2,e);return t?(t.split("x").forEach(t=>{const[e,o]=s(t);e&&(i[e]=Math.round(o/n),i[e]=Math.min(9,i[e]))}),i):i}(t,i,e);s=L(s,n)}),s}function A(t,e=C){let s={};return t.forEach(t=>{const i=function(t,e=C){const s={};return t?(t.split("x").forEach(t=>{const[i,n]=e(t);i&&(s[i]=n)}),s):s}(t,e);s=L(s,i)}),s}function I(t,e){const s={...t};return Object.entries(e).forEach(([t,e])=>{s[t]||(s[t]=0),s[t]+=e}),s}function q(t){let e={};return t.forEach((t,s)=>{const i=function(t,e){const s={},i=Math.pow(2,e);return t?(t.split("x").forEach(t=>{const[e,n]=_(t);e&&(s[e]=Math.round(n/i))}),s):s}(t,s);e=I(e,i)}),e}function B(t){let e={};return t.forEach(t=>{const s=function(t){const e={};return t?(t.split("x").forEach(t=>{const[s,i]=_(t);s&&(e[s]=i)}),e):e}(t);e=I(e,s)}),e}class j extends x{sortData;items;correctScore;correctPattern;originalValue;jumpDestination;init(){console.log("[Sort] init() called - stack trace:",(new Error).stack),this.sortData=[],this.items=[],this.correctScore="0",this.correctPattern="",this.originalValue="0",this.jumpDestination=null;this.qs(".ab_group")?this.initFromExistingDOM():this.harvestOptions();const t=this.qs(".ab_group");t&&t.addEventListener("click",this.handleClick.bind(this)),this.sortData.length!==this.items.length?this.updateValue("0",!1):this.checkPattern()}initFromExistingDOM(){if(this.items=this.qsa(".ab_item"),this.parseConfig(),this.originalValue=this.answerBtn?.getAttribute("value")||"0",this.originalValue.includes(",to,")){const t=this.originalValue.split(",to,");this.originalValue=t[0],this.jumpDestination=t[1]}this.restoreState()}isPieMode(){return"sortpie"===this.componentType}harvestOptions(){const t=this.qs(".question");if(!t)return;const e=this.qsa(".answer"),s=[],i=[];let n=null,o="0";const a=this.isPieMode();let r;if(e.forEach(t=>{const e=t.getAttribute("value")||"";if(a)"Z"!==e?(s.push(t.innerHTML),i.push(e),t.remove()):(n=t,t.setAttribute("value",""),t.classList.add("unclickable"));else if("0"===e)s.push(t.innerHTML),t.remove();else{if(n=t,o=e,o.includes(",to,")){const t=o.split(",to,");o=t[0],this.jumpDestination=t[1]}t.setAttribute("value","0"),t.classList.add("unclickable")}}),this.answerBtn=n,this.correctScore=o,this.originalValue="0",a)r=`
${s.map((t,e)=>`
${t}
`).join("")}
`,this.correctPattern="";else{const e=[];for(let t=0;t.5-Math.random()),n=[];for(let t=0;t${i.map(t=>`
${s[t]}
`).join("")}`,t.setAttribute("ab-config",`${this.correctScore}:${this.correctPattern}`)}t.insertAdjacentHTML("afterend",r),this.items=this.qsa(".ab_item")}parseConfig(){if(!this.config){const t=this.qs(".question"),e=t?.getAttribute("ab-config");e&&(this.config=e)}if(!this.config||!this.config.includes(":"))return;const t=this.config.split(":");this.correctScore=t[0],this.correctPattern=t[1]}restoreState(){const t=[];this.items.forEach(e=>{if(e.classList.contains("ab_selected")){const s=e.querySelector(".ab_sort_id");if(s){const i=parseInt(s.textContent||"0",10);t.push({el:e,order:i})}}}),t.length>0&&(t.sort((t,e)=>t.order-e.order),this.sortData=t.map(t=>this.items.indexOf(t.el)))}handleClick(t){const e=t.target,s=e.closest(".ab_item");if(console.log("[Sort] handleClick called:",{target:e,item:s}),!s)return;const i=this.qsa(".ab_item"),n=i.indexOf(s);console.log("[Sort] items lookup:",{itemsCount:i.length,index:n}),-1!==n&&(this.items=i,this.toggleItem(s,n))}toggleItem(t,e){this.sortData.includes(e)?(this.sortData=this.sortData.filter(t=>t!==e),t.classList.remove("ab_selected")):(this.sortData.push(e),t.classList.add("ab_selected")),this.updateBadges(),this.checkPattern()}updateBadges(){this.items.forEach(t=>{const e=t.querySelector(".ab_sort_id");e&&e.remove();const s=this.items.indexOf(t);this.sortData.includes(s)||t.classList.remove("ab_selected")}),this.sortData.forEach((t,e)=>{const s=this.items[t];s&&s.insertAdjacentHTML("beforeend",`${e+1}`)})}getCurrentPattern(){return this.sortData.map(t=>t+1).join("-")}checkPattern(){this.isPieMode()?this.checkPatternPie():this.checkPatternStandard()}checkPatternStandard(){this.items=this.qsa(".ab_item");const t=this.sortData.length===this.items.length;if(console.log("[Sort] checkPatternStandard called:",{sortData:this.sortData,itemsLength:this.items.length,allSelected:t,correctPattern:this.correctPattern,correctScore:this.correctScore}),!t)return void this.updateValue("0",!1);const e=this.getCurrentPattern();if(console.log("[Sort] pattern comparison:",{currentPattern:e,correctPattern:this.correctPattern,match:e===this.correctPattern}),e===this.correctPattern){let t=this.correctScore;this.jumpDestination&&(t=`${this.correctScore},to,${this.jumpDestination}`),this.updateValue(t,!0)}else{let t=this.originalValue;this.jumpDestination&&(t=`${this.originalValue},to,${this.jumpDestination}`),this.updateValue(t,!0)}}checkPatternPie(){this.items=this.qsa(".ab_item");const t=this.sortData.length===this.items.length;if(console.log("[Sort] checkPatternPie called:",{sortData:this.sortData,itemsLength:this.items.length,allSelected:t}),!t){const t=k(q(this.sortData.map(t=>{const e=this.items[t];return e?.dataset.value||""})));return void this.updateValue(t,!1)}const e=this.sortData.map(t=>{const e=this.items[t];return e?.dataset.value||""});console.log("[Sort] pie mode sorted patterns:",e);const s=k(q(e));this.updateValue(s,!0)}}class M extends x{correctScore;correctPattern;originalValue;jumpDestination;init(){console.log("[Check] init() called - element:",this.el.id,"stack:",(new Error).stack),console.log("[Check] el._instance before init:",this.el._instance),this.correctScore="0",this.correctPattern="",this.originalValue="0",this.jumpDestination=null;this.qs(".cb_group")?this.initFromExistingDOM():this.harvestOptions();const t=this.qs(".cb_group");t&&t.addEventListener("click",this.handleClick.bind(this)),this.checkPattern()}initFromExistingDOM(){if(this.parseConfig(),this.originalValue=this.answerBtn?.getAttribute("value")||"0",this.originalValue.includes(",to,")){const t=this.originalValue.split(",to,");this.originalValue=t[0],this.jumpDestination=t[1]}}isPieMode(){return"checkpie"===this.componentType}harvestOptions(){const t=this.qs(".question");if(!t)return;const e=this.qsa(".answer"),s=[],i=[],n=[];let o=null,a="0";const r=this.isPieMode();let l;e.forEach(t=>{const e=t.getAttribute("value")||"";if(r)"Z"!==e?(s.push(t.innerHTML),i.push(e),t.remove()):(o=t,t.setAttribute("value",""));else if("V"===e||"0"===e)n.push("V"===e?1:0),s.push(t.innerHTML),t.remove();else{if(o=t,a=e,a.includes(",to,")){const t=a.split(",to,");a=t[0],this.jumpDestination=t[1]}t.setAttribute("value","0")}}),this.answerBtn=o,this.correctScore=a,this.correctPattern=n.join(""),this.originalValue="0",l=r?`
${s.map((t,e)=>`
${t}
`).join("")}
`:`
${s.map(t=>`
${t}
`).join("")}
`,t.insertAdjacentHTML("afterend",l),r||t.setAttribute("cb-config",`${this.correctScore}:${this.correctPattern}`)}parseConfig(){if(!this.config){const t=this.qs(".question"),e=t?.getAttribute("cb-config");e&&(this.config=e)}if(!this.config||!this.config.includes(":"))return;const t=this.config.split(":");this.correctScore=t[0],this.correctPattern=t[1]}handleClick(t){const e=t.target.closest(".cb_item");console.log("[Check] handleClick called - this instance:",this,"correctPattern:",this.correctPattern),e&&(e.classList.toggle("cb_selected"),this.checkPattern())}getCurrentPattern(){const t=this.qsa(".cb_item");let e="";return t.forEach(t=>{e+=t.classList.contains("cb_selected")?"1":"0"}),e}checkPattern(){this.isPieMode()?this.checkPatternPie():this.checkPatternStandard()}checkPatternStandard(){const t=this.getCurrentPattern();if(console.log("[Check] checkPatternStandard called:",{currentPattern:t,correctPattern:this.correctPattern,correctScore:this.correctScore,originalValue:this.originalValue,answerBtn:this.answerBtn,match:t===this.correctPattern}),t===this.correctPattern){let t=this.correctScore;this.jumpDestination&&(t=`${this.correctScore},to,${this.jumpDestination}`),this.updateValue(t,!0)}else{let t=this.originalValue;this.jumpDestination&&(t=`${this.originalValue},to,${this.jumpDestination}`),this.updateValue(t,!0)}}checkPatternPie(){const t=this.qsa(".cb_item.cb_selected"),e=t.map(t=>t.dataset.value||"");console.log("[Check] checkPatternPie called:",{selectedCount:t.length,selectedPatterns:e});const s=k(B(e));this.updateValue(s,!0)}}var D=(t=>(t[t.VIRGIN=0]="VIRGIN",t[t.PLAYING=1]="PLAYING",t[t.PAUSED=2]="PAUSED",t))(D||{});function V(t,e={}){return new Promise((s,i)=>{const n=document.createElement("script");n.src=t,n.async=e.async??!0,e.defer&&(n.defer=!0),e.id&&(n.id=e.id),e.crossOrigin&&(n.crossOrigin=e.crossOrigin),e.dataset&&Object.entries(e.dataset).forEach(([t,e])=>{n.dataset[t]=e}),n.onload=()=>s(n),n.onerror=()=>i(new Error(`Failed to load script: ${t}`)),document.body.appendChild(n)})}const T=["https://surikov.github.io/webaudiofont/npm/dist/WebAudioFontPlayer.js","https://surikov.github.io/webaudiofontdata/sound/0000_SoundBlasterOld_sf2.js","https://unpkg.com/@roudanio/lazy-melody@0.8.5/dist/lazy-player.iife.js"];const N=[50,40,35,30,35,40,50],O=["c66","c66","c66","999","5a8","5a8","5a8"],U=[1/0,5,3.333,2,1.429,1.111,1];class F extends x{static keyboardInputUsed=!1;min;max;targetNumber;guessCount;guessed;uiStrings;inputEl;submitBtn;statusEl;countEl;wrapEl;init(){this.min=1,this.max=100,this.targetNumber=0,this.guessCount=0,this.guessed=!1,this.inputEl=null,this.submitBtn=null,this.statusEl=null,this.countEl=null,this.wrapEl=null,this.uiStrings=["Guess a number between %MIN% and %MAX%","Please enter a valid number","📈 Too low!","📉 Too high!","Attempts: ","Submit","Correct!","Luck +"];const t=this.getI18n("guess_ui");t&&t.length>0&&t.forEach((t,e)=>{t&&(this.uiStrings[e]=t)});this.qs(".guess_wrap")?this.initFromExistingDOM():this.harvestOptions(),this.bindEvents(),this.setupAutoFocus(),this.updateValue("0",!1)}initFromExistingDOM(){const t=this.qs(".guess_txt");t&&(this.min=parseInt(t.min,10)||1,this.max=parseInt(t.max,10)||100),this.targetNumber=this.generateTargetNumber(),this.inputEl=t,this.submitBtn=this.qs(".guess_go"),this.statusEl=this.qs(".guess_status"),this.countEl=this.qs(".guess_count"),this.wrapEl=this.qs(".guess_wrap"),this.resetUIState()}harvestOptions(){const t=this.qs(".question");if(!t)return;if(this.config){const t=this.config.split(",");this.min=parseInt(t[0],10)||1,this.max=parseInt(t[1],10)||100}this.targetNumber=this.generateTargetNumber();const e=this.uiStrings[0].replace("%MIN%",`${this.min}`).replace("%MAX%",`${this.max}`);t.innerHTML=`\n
\n
${e}
\n \n \n
\n
\n
\n `,this.inputEl=this.qs(".guess_txt"),this.submitBtn=this.qs(".guess_go"),this.statusEl=this.qs(".guess_status"),this.countEl=this.qs(".guess_count"),this.wrapEl=this.qs(".guess_wrap")}generateTargetNumber(){return Math.floor(Math.random()*(this.max-this.min+1))+this.min}bindEvents(){this.submitBtn&&this.submitBtn.addEventListener("click",this.handleGuess.bind(this)),this.inputEl&&this.inputEl.addEventListener("keydown",t=>{"Enter"!==t.key&&13!==t.keyCode||(t.preventDefault(),this.handleGuess(),F.keyboardInputUsed=!0,console.log("[Guess] Enter pressed, keyboardInputUsed set to true"))})}setupAutoFocus(){document.addEventListener("QuestionShow",t=>{console.log("[Guess] QuestionShow fired",{target:t.target,thisEl:this.el,isMatch:t.target===this.el,keyboardInputUsed:F.keyboardInputUsed,inputEl:this.inputEl}),t.target===this.el&&F.keyboardInputUsed&&this.inputEl&&(console.log("[Guess] Conditions met, focusing input"),setTimeout(()=>{this.inputEl?.focus(),console.log("[Guess] Input focused")},0))})}resetUIState(){if(this.guessed=!1,this.guessCount=0,this.inputEl&&(this.inputEl.value=""),this.statusEl&&(this.statusEl.textContent="",this.statusEl.classList.add("guess_none"),this.statusEl.classList.remove("guess_red","guess_green","guess_blink")),this.countEl&&(this.countEl.textContent="",this.countEl.classList.add("guess_none")),this.wrapEl){this.wrapEl.style.pointerEvents="",this.wrapEl.style.opacity="";const t=this.wrapEl.querySelector(".score_animation");t&&t.remove()}}handleGuess(){if(this.guessed||!this.inputEl||!this.statusEl||!this.countEl)return;const t=parseInt(this.inputEl.value,10);if(this.statusEl.classList.remove("guess_red","guess_green","guess_blink"),isNaN(t))return this.statusEl.textContent=this.uiStrings[1],void this.statusEl.classList.remove("guess_none");setTimeout(()=>{this.statusEl?.classList.add("guess_blink")},0),this.countEl.classList.remove("guess_none"),this.statusEl.classList.remove("guess_none"),this.guessCount++,tthis.targetNumber?(this.statusEl.textContent=this.uiStrings[3],this.statusEl.classList.add("guess_red")):(this.guessed=!0,this.statusEl.textContent=this.uiStrings[6]||"Correct!",this.onCorrectGuess()),this.countEl.textContent=this.uiStrings[4]+this.guessCount}onCorrectGuess(){const t=this.calculateScore(this.min,this.max,this.guessCount);this.wrapEl&&(this.wrapEl.style.pointerEvents="none",this.wrapEl.style.opacity="0.3"),this.showScoreAnimation(t),setTimeout(()=>{this.updateValue(String(t),!0),this.answerBtn?.click()},999)}calculateScore(t,e,s){const i=e-t+1;if(s<1)return 0;if(1===s)return 10;if(s>i)return 0;{let t=10*Math.pow((i-s+1)/(i-1),2);return t=(Math.sqrt(10*t)+5*t)/6,Math.floor(t)}}showScoreAnimation(t){if(!this.wrapEl)return;const e=document.createElement("div");e.className="score_animation",e.textContent=(this.uiStrings[7]||"Luck +")+t.toFixed(2),this.wrapEl.appendChild(e),e.offsetHeight,e.style.opacity="1",e.style.animation="scoreMoveUp 2s cubic-bezier(0, 0, 0.2, 1) forwards",setTimeout(()=>{e.style.opacity="0",e.style.animation="",e.textContent=""},2e3)}onLeave(){}}const H="wait-hidden";const Q={xsort:class extends x{sortData=[];items=[];init(){this.qs(".ab_group")||this.harvestOptions(),this.items=this.qsa(".ab_item"),this.restoreState();const t=this.qs(".ab_group");t&&t.addEventListener("click",this.handleClick.bind(this)),this.sortData.length!==this.items.length&&this.updateValue("0",!1)}harvestOptions(){const t=this.qs(".question");if(!t)return;const e=this.qsa(".answer");if(0===e.length)return;const s=e.pop();if(!s)return;this.answerBtn=s;const i=[],n=[];e.forEach(t=>{i.push(t.innerHTML),n.push(t.getAttribute("value")||""),t.remove()}),s.setAttribute("value","0"),s.classList.add("unclickable");const o=`
${i.map((t,e)=>`
${t}
`).join("")}
`;t.insertAdjacentHTML("afterend",o)}restoreState(){const t=[];this.items.forEach(e=>{if(e.classList.contains("ab_selected")){const s=e.querySelector(".ab_sort_id");if(s){const i=parseInt(s.textContent||"0",10);t.push({el:e,order:i})}}}),t.length>0&&(t.sort((t,e)=>t.order-e.order),this.sortData=t.map(t=>this.items.indexOf(t.el)),this.calculateAndUpdate())}handleClick(t){const e=t.target.closest(".ab_item");if(!e)return;const s=this.items.indexOf(e);-1!==s&&this.toggleItem(e,s)}toggleItem(t,e){this.sortData.includes(e)?(this.sortData=this.sortData.filter(t=>t!==e),t.classList.remove("ab_selected")):(this.sortData.push(e),t.classList.add("ab_selected")),this.updateBadges(),this.calculateAndUpdate()}updateBadges(){this.items.forEach(t=>{const e=t.querySelector(".ab_sort_id");e&&e.remove();const s=this.items.indexOf(t);this.sortData.includes(s)||t.classList.remove("ab_selected")}),this.sortData.forEach((t,e)=>{const s=this.items[t];s&&s.insertAdjacentHTML("beforeend",`${e+1}`)})}calculateAndUpdate(){if(!(this.sortData.length===this.items.length))return void this.updateValue("0",!1);const t=k(P(this.sortData.map(t=>{const e=this.items[t];return e?.dataset.value||""})));this.updateValue(t||"0",!0)}},xcheck:class extends x{items=[];init(){this.qs(".cb_group")||this.harvestOptions(),this.items=this.qsa(".cb_item");const t=this.qs(".cb_group");t&&t.addEventListener("click",this.handleClick.bind(this)),this.calculateAndUpdate()}harvestOptions(){const t=this.qs(".question");if(!t)return;const e=this.qsa(".answer");if(0===e.length)return;const s=e.pop();if(!s)return;this.answerBtn=s;const i=[],n=[];e.forEach(t=>{i.push(t.innerHTML),n.push(t.getAttribute("value")||""),t.remove()}),s.setAttribute("value","0");const o=`
${i.map((t,e)=>`
${t}
`).join("")}
`;t.insertAdjacentHTML("afterend",o)}handleClick(t){const e=t.target.closest(".cb_item");e&&(e.classList.toggle("cb_selected"),this.calculateAndUpdate())}getSelectedItems(){return this.items.filter(t=>t.classList.contains("cb_selected"))}calculateAndUpdate(){const t=k(A(this.getSelectedItems().map(t=>t.dataset.value||"")));this.updateValue(t||"0",!0)}},sort:j,check:M,sortpie:j,checkpie:M,melody:class extends x{state=D.VIRGIN;button=null;melodyConfig=null;dependenciesLoaded=!1;loadingPromise=null;uiLabels=["Play","Pause","Resume"];init(){const t=this.qs(".question");if(!t)return;const e=this.getI18n("music_and_melody");e&&e.length>=3&&(this.uiLabels=e),this.melodyConfig=this.parseConfig(this.config),this.injectAudioUI(t,this.uiLabels[0]),this.button&&this.button.addEventListener("click",this.handleClick.bind(this)),this.loadDependencies();document.addEventListener("QuestionShow",t=>{t.target!==this.el&&this.killPlayer()})}injectAudioUI(t,e){const s=document.createElement("div");s.className="audio-section",s.innerHTML=`\n \n `,t.appendChild(s),this.button=s.querySelector("button")}parseConfig(t){const e=t.split(","),s={notes:t,beatsPerBar:4,bpm:100,basePitch:52};return e.length>=4&&(s.basePitch=parseInt(e.pop(),10),s.bpm=parseInt(e.pop(),10),s.beatsPerBar=parseInt(e.pop(),10),s.notes=e.join(",")),s}async loadDependencies(){if(!this.dependenciesLoaded)return this.loadingPromise||(this.loadingPromise=(async()=>{try{await async function(t){const e=[];for(const s of t){const t=await V(s);e.push(t)}return e}(T),this.dependenciesLoaded=!0,this.button?.classList.remove("arm-melody-shy"),window.LazyPlayer?.on("ended",()=>this.killPlayer())}catch(t){console.error("[Melody] Dependency load failed",t)}})()),this.loadingPromise}async handleClick(t){if(t.preventDefault(),!this.button||!this.melodyConfig)return;if(this.dependenciesLoaded||(this.button.classList.add("arm-melody-loading"),await this.loadDependencies(),this.button.classList.remove("arm-melody-loading")),!window.LazyPlayer)return;const e=this.button.querySelector("span");this.state===D.VIRGIN?(window.LazyPlayer.startPlay(this.melodyConfig.notes,{beatsPerBar:this.melodyConfig.beatsPerBar,bpm:this.melodyConfig.bpm,basePitch:this.melodyConfig.basePitch}),this.setPlayingUI(!0),e&&(e.textContent=this.uiLabels[1]),this.state=D.PLAYING):this.state===D.PAUSED?(window.LazyPlayer.resume(),this.setPlayingUI(!0),e&&(e.textContent=this.uiLabels[1]),this.state=D.PLAYING):(window.LazyPlayer.pause(),this.setPlayingUI(!1),e&&(e.textContent=this.uiLabels[2]),this.state=D.PAUSED)}setPlayingUI(t){if(!this.button)return;const e=this.button.querySelector(".snd_wave");t?(this.button.classList.add("arm-melody-playing"),e?.classList.add("blink_me")):(this.button.classList.remove("arm-melody-playing"),e?.classList.remove("blink_me"))}killPlayer(){if(!this.button)return;const t=this.button.querySelector("span");t&&(t.textContent=this.uiLabels[0]),this.state=D.VIRGIN,this.setPlayingUI(!1),window.LazyPlayer?.stop()}onLeave(){this.state!==D.VIRGIN&&this.killPlayer()}},audio:class extends x{audio=null;button=null;init(){const t=this.getI18n("play_snd_btn")||window.ARM_PLAYBTN||"Play",e=this.qs(".question");if(this.button=this.qs(".audio-section button"),!this.button&&e){let s="";const i=this.parseAudioTag();if(i)e.innerHTML=i.html,s=i.src;else if(this.config)s=this.config;else{const t=this.getQuestionIndex();s=`https://areal.me/${window.QuizConfig?.meta?.name||window.test?.name||"test"}/files/${t+1}.mp3`}s&&this.injectAudioUI(e,s,t)}this.button&&(this.button.addEventListener("click",this.handleClick.bind(this)),this.qsa(".answer").forEach(t=>{t.addEventListener("click",()=>this.stopAndReset())}),document.addEventListener("QuestionShow",t=>{t.target!==this.el&&this.stopAndReset()}))}parseAudioTag(){const t=this.qs(".question");if(!t)return null;const e=t.innerHTML,s=e.match(/\[audio=([^\]]+)\]/);if(s)return{html:e.replace(s[0],""),src:s[1]};if(e.includes("[audio]")){const t=this.getQuestionIndex(),s=window.QuizConfig?.meta?.name||window.test?.name||"test";return{html:e.replace("[audio]",""),src:`https://areal.me/${s}/files/${t+1}.mp3`}}return null}getQuestionIndex(){const t=document.getElementById("collection");if(!t)return 0;const e=Array.from(t.querySelectorAll(":scope > li")).indexOf(this.el);return-1===e?0:e}injectAudioUI(t,e,s){const i=document.createElement("div");i.className="audio-section",i.innerHTML=`\n \n `,t.appendChild(i),this.button=i.querySelector("button")}handleClick(){if(!this.button)return;const t=this.button.dataset.src||this.config;t&&(!this.audio||this.audio.paused?(this.audio=new Audio(t),this.audio.play().catch(t=>console.error("[AudioPlayer] Error:",t)),this.audio.addEventListener("ended",()=>this.resetPlayingState()),this.setPlayingUI(!0)):this.stopAndReset())}setPlayingUI(t){if(!this.button)return;const e=this.button.querySelector(".snd_wave");t?(this.button.classList.add("arm-melody-playing"),e?.classList.add("blink_me")):(this.button.classList.remove("arm-melody-playing"),e?.classList.remove("blink_me"))}resetPlayingState(){this.setPlayingUI(!1)}stopAndReset(){this.audio&&(this.audio.pause(),this.audio.currentTime=0,this.audio=null),this.resetPlayingState()}onLeave(){this.stopAndReset()}},date:class extends x{correctDate={};correctScore="0";uiStrings=[];bceFormat="%YEAR% BCE";yearSelect=null;monthSelect=null;daySelect=null;confirmBtn=null;init(){const t=this.getI18n("y_common_date_arr"),e=this.getI18n("y_common_bce_string");this.uiStrings=t||[],this.bceFormat=e||"%YEAR% BCE",this.parseConfig(),this.correctScore=this.answerBtn?.getAttribute("value")||"0",this.buildDatePicker()}parseConfig(){if(!this.config)return;const t=`{${this.config}}`.replace(/Y/g,'"Y"').replace(/M/g,'"M"').replace(/D/g,'"D"');try{this.correctDate=JSON.parse(t)}catch{console.error("[DatePicker] Invalid config:",this.config)}}buildDatePicker(){const t=this.qs(".question");if(!t)return;const e=document.createElement("div");e.className="arm-date-picker";const s=void 0!==this.correctDate.Y,i=void 0!==this.correctDate.M,n=void 0!==this.correctDate.D;s&&this.correctDate.Y&&(this.yearSelect=this.createYearSelect(this.correctDate.Y),e.appendChild(this.yearSelect)),i&&(this.monthSelect=this.createMonthSelect(),e.appendChild(this.monthSelect)),n&&(this.daySelect=this.createDaySelect(),e.appendChild(this.daySelect)),t.appendChild(e),this.confirmBtn=this.answerBtn,this.confirmBtn&&(this.confirmBtn.classList.add("arm-date-locked"),this.confirmBtn.textContent=this.uiStrings[15]||"Confirm"),this.addGiveUpButton(),this.updateValue("0",!1)}createYearSelect(t){const e=document.createElement("select");e.className="year-picker";const s=document.createElement("option");s.value="",s.disabled=!0,s.selected=!0,s.textContent=this.uiStrings[12]||"Year",e.appendChild(s);const i=t+31;for(let n=t-30;nthis.checkSelectedDate()),e}createMonthSelect(){const t=document.createElement("select");t.className="month-picker";const e=document.createElement("option");e.value="",e.disabled=!0,e.selected=!0,e.textContent=this.uiStrings[13]||"Month",t.appendChild(e);for(let s=0;s<12;s++){const e=document.createElement("option");e.value=String(s+1),e.textContent=this.uiStrings[s]||String(s+1),t.appendChild(e)}return t.addEventListener("change",()=>this.checkSelectedDate()),t}createDaySelect(){const t=document.createElement("select");t.className="day-picker";const e=document.createElement("option");e.value="",e.disabled=!0,e.selected=!0,e.textContent=this.uiStrings[14]||"Day",t.appendChild(e);for(let s=1;s<=31;s++){const e=document.createElement("option");e.value=String(s),e.textContent=String(s),t.appendChild(e)}return t.addEventListener("change",()=>this.checkSelectedDate()),t}addGiveUpButton(){if(!this.confirmBtn)return;const t=document.createElement("div");t.className="answer",t.setAttribute("value","0"),t.textContent="🤷🏻‍♀️🤷🤷‍♀️🤷‍♂️🤷🏽‍♂️",t.addEventListener("click",()=>{this.updateValue("0",!0),this.confirmBtn?.click()}),this.confirmBtn.insertAdjacentElement("afterend",t)}checkSelectedDate(){const t=this.yearSelect?.value||null,e=this.monthSelect?.value||null,s=this.daySelect?.value||null,i=void 0===this.correctDate.Y||t,n=void 0===this.correctDate.M||e,o=void 0===this.correctDate.D||s;if(!i||!n||!o)return;this.confirmBtn&&(this.confirmBtn.classList.remove("arm-date-locked"),this.confirmBtn.textContent=this.uiStrings[16]||"Submit");const a=void 0===this.correctDate.Y||Number(t)===this.correctDate.Y,r=void 0===this.correctDate.M||Number(e)===this.correctDate.M,l=void 0===this.correctDate.D||Number(s)===this.correctDate.D,c=a&&r&&l?this.correctScore:"0";this.updateValue(c,!0)}},tend:class extends x{leftValue;rightValue;leftText;rightText;interValues;dots;rightAnswerBtn;init(){this.leftValue=0,this.rightValue=0,this.leftText="",this.rightText="",this.interValues=[],this.dots=[],this.rightAnswerBtn=null,this.el.classList.add("arm-ext-tend"),this.parseAnswerButtons(),this.calculateInterValues(),this.buildTendencyUI()}parseAnswerButtons(){const t=this.qsa(".answer");if(t.length<2)return void console.error("[Tendency] Expected 2 answer buttons");const e=t[0],s=t[1];this.leftValue=e.getAttribute("value")||"0",this.rightValue=s.getAttribute("value")||"0",this.leftText=e.innerHTML,this.rightText=s.innerHTML,this.rightAnswerBtn=s,e.style.display="none",s.style.display="none"}calculateInterValues(){const t=this.tryParseNumber(this.leftValue),e=this.tryParseNumber(this.rightValue);this.interValues=0===t?this.getInterValues(this.rightValue,!0):0===e?this.getInterValues(this.leftValue,!1):[this.leftValue,this.leftValue,this.leftValue,this.leftValue,this.rightValue,this.rightValue,this.rightValue]}tryParseNumber(t){if("number"==typeof t)return t;const e=parseInt(t,10);return String(e)===t?e:NaN}getInterValues(t,e){const s=U.map(e=>this.parseComposedValue(t,e));return e||s.reverse(),s}parseComposedValue(t,e){if(e===1/0)return 0;if("number"==typeof t)return Math.round(t/e);const s=parseInt(t,10);if(String(s)===t)return Math.round(s/e);const i=t.split("x"),n=[];return i.forEach(t=>{const s=this.scaleOceanValue(t,e);""!==s&&n.push(s)}),n.join("x")}scaleOceanValue(t,e){if(!t||t.length<2)return"";const s=t.charAt(0),i=parseInt(t.slice(1),10);return isNaN(i)?"":window.ocean&&Object.prototype.hasOwnProperty.call(window.ocean,s)?`${s}${Math.round(i/e)}`:window.ocean?"":`${s}${Math.round(i/e)}`}buildTendencyUI(){const t=document.createElement("div");t.className="tend-groups";for(let i=0;i<7;i++){const e=this.createDot(i);t.appendChild(e),this.dots.push(e)}const e=document.createElement("div");e.className="indicator-groups";const s=this.leftText.length>5||this.rightText.length>5?' class="indicator-small"':"";e.innerHTML=`\n ${this.leftText}\n ${this.rightText}\n `,this.el.appendChild(t),this.el.appendChild(e)}createDot(t){const e=N[t],s=O[t],i=document.createElement("div");return i.className=`tend-dot tend-dot-${t}`,i.style.width=`${e}px`,i.style.height=`${e}px`,i.style.borderColor=`#${s}`,i.addEventListener("click",()=>this.handleDotClick(t)),i}handleDotClick(t){this.dots.forEach((e,s)=>{if(s===t){const s=O[t];e.style.background=`url("data:image/svg+xml;utf8,")`}else e.style.background="none"});const e=this.qs(".tend-groups");e&&e.classList.add("pointer-events-none");const s=this.interValues[t];this.rightAnswerBtn&&(this.rightAnswerBtn.setAttribute("value",String(s)),this.rightAnswerBtn.click())}onLeave(){}},dragsort:class extends x{abGroup=null;doneButton=null;sortableInstance=null;prefix="";perfectScore=100;loadingEl=null;init(){this.buildSortableUI(),this.initSortable()}buildSortableUI(){const t=this.getWrapper(),e=this.qsa('.answer[value="0"]');if(this.doneButton=t.querySelector('.answer:not([value="0"])'),!this.doneButton)return void console.error("[DragSort] No done button found");const s=this.doneButton.getAttribute("value")||"100";this.extractScoreInfo(s),this.abGroup=document.createElement("div"),this.abGroup.className="ab_group",e.forEach((t,e)=>{const s=document.createElement("div");s.className="ab_item",s.textContent=t.textContent||"",s.dataset.originalIndex=String(e),this.abGroup.appendChild(s),t.remove()}),this.shuffleItems(),this.doneButton.insertAdjacentElement("beforebegin",this.abGroup)}extractScoreInfo(t){const e=t.match(/^([A-Z])?(\d+)$/);e?(this.prefix=e[1]||"",this.perfectScore=parseInt(e[2],10)):this.perfectScore=100}shuffleItems(){if(!this.abGroup)return;const t=Array.from(this.abGroup.children);for(let e=t.length-1;e>0;e--){const s=Math.floor(Math.random()*(e+1));this.abGroup.appendChild(t[s])}}async initSortable(){if(this.abGroup&&this.doneButton){if(!window.Sortable){this.showLoading();try{await V("https://cdnjs.cloudflare.com/ajax/libs/Sortable/1.15.6/Sortable.min.js")}catch(t){return console.error("[DragSort] Failed to load Sortable.js:",t),void this.hideLoading()}this.hideLoading()}window.Sortable&&(this.sortableInstance=new window.Sortable(this.abGroup,{animation:150,ghostClass:"ab-ghost",chosenClass:"ab-chosen",dragClass:"ab-drag",onEnd:()=>this.calculateAndUpdateScore()}),this.calculateAndUpdateScore())}}showLoading(){if(!this.abGroup)return;const t=this.abGroup.parentElement;t&&(t.style.position="relative",this.loadingEl=document.createElement("div"),this.loadingEl.className="init-sortable",this.loadingEl.textContent="Loading...",t.appendChild(this.loadingEl))}hideLoading(){this.loadingEl&&(this.loadingEl.remove(),this.loadingEl=null)}calculateAndUpdateScore(){if(!this.abGroup||!this.doneButton)return;const t=function(t,e){const s=t.length;let i=0;for(let a=0;at[e]&&i++;const n=s*(s-1)/2,o=Math.round((1-i/n)*e);return Math.max(0,Math.min(o,e))}(Array.from(this.abGroup.children).map(t=>parseInt(t.dataset.originalIndex||"0",10)),this.perfectScore);this.doneButton.setAttribute("value",`${this.prefix}${t}`)}onLeave(){this.sortableInstance&&(this.sortableInstance.destroy(),this.sortableInstance=null)}},guess:F,wait:class extends x{rafId=null;countdownEl=null;answerButtons;seconds;hintTemplate;init(){if(this.seconds=parseFloat(this.config)||0,this.seconds<=0)return;if(this.answerButtons=this.qsa("button.answer"),0===this.answerButtons.length)return;this.hintTemplate=this.getI18n("wait_hint_sec")||window.QuizConfig?.content?.waitHintSec||"Choices will appear in %COUNT% seconds";const t=this.getWrapper();t.style.position=t.style.position||"relative",this.countdownEl=document.createElement("div"),this.countdownEl.className="wait-countdown",this.countdownEl.textContent=this.formatHint(this.seconds),this.countdownEl.style.top=this.answerButtons[0].offsetTop+"px",t.appendChild(this.countdownEl),this.hideButtons(),this.el.addEventListener("QuestionShow",()=>this.startCountdown())}startCountdown(){this.stopCountdown(),this.hideButtons(),this.countdownEl&&(this.countdownEl.style.display="",this.countdownEl.style.top=this.answerButtons[0].offsetTop+"px",this.countdownEl.textContent=this.formatHint(this.seconds));const t=performance.now(),e=1e3*this.seconds,s=()=>{const i=Math.max(0,e-(performance.now()-t));this.countdownEl&&(this.countdownEl.textContent=this.formatHint(i/1e3)),i<=0?this.finishCountdown():this.rafId=requestAnimationFrame(s)};this.rafId=requestAnimationFrame(s)}finishCountdown(){this.countdownEl&&(this.countdownEl.style.display="none"),this.showButtons(),this.rafId=null}stopCountdown(){null!==this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=null)}hideButtons(){this.answerButtons.forEach(t=>t.classList.add(H))}showButtons(){this.answerButtons.forEach(t=>t.classList.remove(H))}formatHint(t){return this.hintTemplate.replace("%COUNT%",t.toFixed(2))}onLeave(){this.stopCountdown()}}};class z{config;state;collectionEl=null;progressEl=null;progressBgEl=null;splashEl=null;forceLoadExtraScript;answerStatsReady;constructor(t,e,s){this.config=t,this.forceLoadExtraScript=e||(()=>{}),this.answerStatsReady=s||Promise.resolve(!0),this.state={targetQuestionId:1,questionNumber:t.questionNumber,retakeAnswerPool:[],iqValueArr:[],isFirstAloadCalled:!1},this.initLegacyGlobals()}initLegacyGlobals(){const{meta:t}=this.config;window.og_link=t.url,window.og_result_url=t.url,window.lang_type=t.lang,window.test_type=t.name,window.test_lang=t.lang,window.uss=()=>{},window.prestige_loaded=()=>{window.prestige_img=window.og_result_img,window.uss?.()}}init(){this.collectionEl=y("#collection"),this.progressEl=y("#progress"),this.progressBgEl=y("#progress-bg"),this.splashEl=y("#splash"),this.applyAdsBackgrounds(),this.startProgressAnimation(),window.$isMan?this.initHumanFeatures():this.initHeadlessFeatures(),this.config.features.omitStartButton?.includes(this.config.meta.name)||this.bindStartButton(),o(()=>{window.main&&window.main(),window.mh_arr&&window.mh_arr.forEach(t=>t())})}applyAdsBackgrounds(){if(!this.config.features.isQuiz)return;const t=(t,e,s,i)=>{const n=y(t);if(!n)return;const o=`AREALME.COM`;n.style.backgroundRepeat="no-repeat",n.style.backgroundPosition="center",n.style.backgroundImage=`url("data:image/svg+xml,${encodeURIComponent(o)}")`};t(".leader_ad_banner",80,40,"9992"),t(".lowerad",100,50,"9991")}startProgressAnimation(){if(!this.config.features.isQuiz)return;let t=0;const e=y("#progress-inner");if(!e)return;const s=setInterval(()=>{t+=(90-t)/1e3,o(()=>{e.style.transform=`scaleX(${t})`}),window.textfill&&(o(()=>{e.style.transform="scaleX(1.05)"}),clearInterval(s))},300)}initHumanFeatures(){window.ga=()=>{},o(()=>{E(".samelang_links_img img").forEach(t=>{const e=t.closest("a"),s=(e?.getAttribute("href")||"").split("/")[1];t.setAttribute("src","data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='23px' width='44px'%3E%3Crect width='100%25' fill='rgba(0,0,0,.1)'/%3E%3Ctext font-family='arial' font-style='italic' x='8' y='13' fill='rgba(0,0,0,.1)' font-size='6'%3EA Real Me%3C/text%3E%3C/svg%3E"),t.setAttribute("aw-src","https://areal.me/newimg/tn_@2x_"+s+".png")})}),document.body.classList.add("arealman")}initHeadlessFeatures(){window.ga=()=>{},E("ins").forEach(t=>t.remove()),this.config.features.loadCharts&&f()}toggleVisibility(t,e){if(e){if("LI"===t.tagName&&"collection"===t.parentElement?.id)return void t.style.setProperty("display","list-item");t.style.removeProperty("display"),"none"===window.getComputedStyle(t).display&&t.style.setProperty("display","block")}else t.style.setProperty("display","none")}renderQuestionVisibility(t){if(!this.collectionEl)return;E("#collection > li").forEach(t=>{t.style.setProperty("display","none")});const e=y(`#q${t}`);e&&(e.style.setProperty("display","list-item"),e.dispatchEvent(new CustomEvent("QuestionShow",{bubbles:!0}))),E(".pointer-events-none").forEach(t=>t.classList.remove("pointer-events-none"))}bindStartButton(){const t=y("#start");t&&S(t,"click",async()=>{t.style.pointerEvents="none",await this.answerStatsReady,this.onStartClick()},{once:!0})}onStartClick(){const t=document.createElement("link");t.href="https://areal.me/static/libs/result-v2.js",t.rel="preload",t.as="script",document.head.appendChild(t),this.config.features.loadCharts&&g(),b()||this.forceLoadExtraScript(),window.onbeforeunload=()=>!0,this.bindAnswers(),o(()=>{this.splashEl&&(this.splashEl.style.display="none"),!this.config.meta.skipProgress&&this.progressEl&&(this.progressEl.style.visibility="visible"),o(()=>{this.collectionEl&&this.toggleVisibility(this.collectionEl,!0),o(()=>{n(),this.toggleQuestion(1),(this.config.meta.backButton||this.config.meta.csvConfig)&&this.injectBackButton()})})}),setTimeout(()=>{E(".lib-unld").forEach(t=>t.classList.remove("lib-unld"));const t=y(".progress-button .content");t&&(t.style.opacity="1")},600),this.checkRetake(),window.ih_arr?.forEach(t=>t()),this.collectionEl&&this.collectionEl.querySelectorAll("[data-component]").forEach(t=>{const e=t.dataset.component;if(!e)return;const s=Q[e];if(!s)return void console.warn(`[new-components] Unknown component type: ${e}`);if(t._instance)return;const i=new s(t);i.init(),t._instance=i})}toggleQuestion(t){this.renderQuestionVisibility(t)}bindAnswers(){E(".answer").forEach(t=>{S(t,"click",()=>this.handleAnswerSelection(t,!1))})}handleAnswerSelection(t,e){const s=this,n=this.config.meta.correctionQuiz||!1,o=window._CD0||(n?999:299),r=e?0:o;let l=t.getAttribute("value")||"";const c=parseInt(l.split("to,")[1],10),h=!isNaN(c);let u=!1;h&&(l=l.split("to,")[0]),h&&0===c&&(u=!0);const d=s.state.targetQuestionId,p=h?c:d+1;void 0!==window.iq_value&&s.state.iqValueArr.push(window.iq_value),s.state.targetQuestionId>=1&&E(".inactive-button").forEach(t=>t.classList.remove("inactive-button"));const m=y("#back_button");m&&m.classList.add("pointer-events-none"),l&&(h&&(l=l.split(",").join("")),s.updateValue(l,d));if(!window.ignoreCountCheck&&d===s.state.questionNumber||u||window.override_play)return s.executeCorrection(t,n),void s.showResults(r);try{a(()=>{const e=t.parentElement;if(e){const n=Array.from(e.querySelectorAll(".answer")).indexOf(t);s.state.retakeAnswerPool.push(n),localStorage.setItem(i(s.config.meta.url),JSON.stringify(s.state.retakeAnswerPool))}})}catch{}s.executeCorrection(t,n),s.state.targetQuestionId=p;const g=()=>{s.updateProgressUI(),s.renderQuestionVisibility(p)};r>0?setTimeout(g,r):g()}updateValue(t,e){"function"==typeof window.updateValue&&window.updateValue(t,e)}executeCorrection(t,e){const s=t.parentElement;s&&(E(".ans-on",s).forEach(t=>t.classList.remove("ans-on")),t.classList.add("ans-on"),s.classList.add("pointer-events-none"),o(()=>{if(e){Array.from(s.children).filter(e=>e!==t&&e.classList.contains("answer")).forEach(t=>{parseInt(t.getAttribute("value")||"0",10)>0?t.classList.add("ans-correct"):t.classList.add("ans-incorrect")});parseInt(t.getAttribute("value")||"0",10)>0?t.classList.add("ans-correct"):t.classList.add("ans-incorrect")}}))}updateProgressUI(){if(this.config.meta.skipProgress)return;const t=this.state.targetQuestionId/this.state.questionNumber;this.progressBgEl&&(this.progressBgEl.style.transform=`scaleX(${t})`)}showResults(t){setTimeout(()=>{o(()=>{this.resultParseHelper(),"function"==typeof window.resultParse&&window.resultParse(),window.test.done=!0;const t=window.ocean_total??window.iq_value??-1;window.dispatchEvent(new CustomEvent("arealme:quiz-complete",{detail:{testName:this.config.meta.name,score:t}}))})},t)}resultParseHelper(){const t=y("#back_button_wrap");t&&t.remove(),localStorage.removeItem(i(this.config.meta.url)),E(".momo").forEach(t=>t.style.display="none"),this.collectionEl&&(this.collectionEl.style.display="none"),this.progressEl&&(this.progressEl.style.visibility="hidden");const e=y("#result_details");if(e){e.style.display="block";const t=y(".samelang_links_img");t&&e.after(t)}n(!0),a(()=>{aload("https://areal.me/static/libs/result-v2.js",()=>{window.rh_arr?.forEach(t=>t())}),setTimeout(()=>{window.onbeforeunload=null},999)})}injectBackButton(){const t=this.config.content,e=y(".question_view");if(!e)return;const s=`\n \n
\n \n
\n `;e.insertAdjacentHTML("afterend",s);const i=y("#back_button");i&&S(i,"click",()=>this.handleBackButton())}handleBackButton(){const t=this.state;if(t.targetQuestionId<=1)return;const e=t.targetQuestionId-1;if(void 0!==window.iq_value&&(window.iq_value=t.iqValueArr.pop()),window.ocean&&"string"==typeof window.iq_value)try{window.ocean=JSON.parse(window.iq_value)}catch{}if(t.retakeAnswerPool.pop(),localStorage.setItem(i(this.config.meta.url),JSON.stringify(t.retakeAnswerPool)),t.targetQuestionId=e,this.renderQuestionVisibility(e),1===t.targetQuestionId){const t=y("#back_button");t&&t.classList.add("inactive-button")}}checkRetake(){if(!this.config.meta.disableRetake)try{const t=i(this.config.meta.url),e=localStorage.getItem(t);if(!e)return;const s=JSON.parse(e);if(!s||s.length<3)return;const n=(this.config.content.retakeHint||"Continue from question {_}?").replace("{_}",String(s.length+1));confirm(n)?this.executeRetake(s):localStorage.removeItem(t)}catch{}}executeRetake(t){const e={};["#target-name","#target-owner","#county-img","#county-description"].forEach(t=>{const e=y(t);e&&(e.innerHTML="")});const s=y("#start");s&&s.click();let i=0;const n={},o=setInterval(()=>{if(i>99999)return void clearInterval(o);const s=E("#collection > li").find(t=>"none"!==t.style.display&&"none"!==getComputedStyle(t).display);if(!s)return void i++;const a=s.id||"";n[a]=0;const r=Object.keys(n).length-1,l=t[r],c=E(".answer",s)[l];!e[`__x${r}`]&&c?(this.handleAnswerSelection(c,!0),e[`__x${r}`]=!0):i++,r===t.length&&clearInterval(o)},16)}}const G={maxFontPixels:40,minFontPixels:4,innerTag:"span",widthOnly:!1,success:null,fail:null,complete:null,explicitWidth:null,explicitHeight:null,changeLineHeight:!1,truncateOnFail:!1,allowOverflow:!1};function R(t,e,s,i,n){for(;i{!function(t,e){const s=t.querySelector(e.innerTag);if(!s)return void e.fail?.(t);if(!((i=s)&&i.offsetWidth>0&&i.offsetHeight>0))return void e.fail?.(t);var i;const n=e.explicitHeight??t.clientHeight,o=e.explicitWidth??t.clientWidth,a=getComputedStyle(s).fontSize,r=parseFloat(a),l=getComputedStyle(s).lineHeight,c="normal"===l?1.2:parseFloat(l)/r,h=e.minFontPixels;let u,d=e.maxFontPixels<=0?n:e.maxFontPixels;e.widthOnly?s.style.whiteSpace="nowrap":u=R(s,Y,n,h,d);const p=R(s,W,o,h,d);let m;m=e.widthOnly?p:Math.min(u,p),s.style.fontSize=`${m}px`,e.changeLineHeight&&s.parentElement&&(s.parentElement.style.lineHeight=c*m+"px");const g=s.scrollWidth>o&&!e.allowOverflow,f=s.scrollHeight>n&&!e.widthOnly&&!e.allowOverflow;g||f?(s.style.fontSize=a,e.fail?.(t)):e.success?.(t)}(t,s)}),s.complete?.(i),i}const Z="https://areal.me/static/libs/answer-stats.js";let X=null;window.textfill=function(t,e={}){J([t],e)};const K="2026-03-02 14:45:27";let tt=null;const et={aload:aload,runBenchmark:e,detectUserAgent:s,httpBuildQuery:function(t){return Object.keys(t).map(e=>encodeURIComponent(e)+"="+encodeURIComponent(String(t[e]))).join("&")},preloadResource:function(t,e="script"){const s=document.createElement("link");s.href=t,s.rel="preload",s.as=e,document.head.appendChild(s)},scrollToTop:n},st={load:g,loadForHeadless:f,isLoaded:m,preload:function(){let t;switch(d()){case 1:t=c.cdnjs.main;break;case 2:t=c.official.main;break;default:t=c.jsdelivr.combined}const e=document.createElement("link");e.href=t,e.rel="preload",e.as="script",document.head.appendChild(e)}},it={forceLoad:function(t){v(t)()},isLoaded:b};return console.log(`[QuizCore v${K}] Loaded. Call QuizCore.init() to start.`),t.charts=st,t.createConfig=function(t,e,s,i,n){return{meta:t,content:e,scripts:{libOutput:s.libOutput||"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js",pageExtra:s.pageExtra||"https://areal.me/static/scrext.js?3",pageExtraV2:s.pageExtraV2||"https://areal.me/static/libs/arealme-page-v2.js",pageExtraLsKey:s.pageExtraLsKey||"scrextloaded",jqueryGoogleCdn:s.jqueryGoogleCdn||"https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js",jqueryCloudflareCdn:s.jqueryCloudflareCdn||"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js",futraUrl:s.futraUrl||"https://areal.me/static/libs/result-v2.js"},features:{isQuiz:i.isQuiz??!0,loadCharts:i.loadCharts??!1,googlePolicySkip:i.googlePolicySkip,creditFuse:i.creditFuse??"default",omitStartButton:i.omitStartButton??[]},questionNumber:n}},t.extraScript=it,t.getAnswerStatsReady=function(){return X||Promise.resolve(!0)},t.getEngine=function(){return tt},t.init=function(t){const i=t||window.QuizConfig;if(!i)return void console.error("[QuizCore] No configuration found. Set window.QuizConfig before calling init().");if(!i.meta?.url||!i.meta?.name)return void console.error("[QuizCore] Invalid config: meta.url and meta.name are required.");if("number"!=typeof i.questionNumber||i.questionNumber<1)return void console.error("[QuizCore] Invalid config: questionNumber must be a positive number.");console.log(`[QuizCore v${K}] Initializing quiz: ${i.meta.name}`);const n=s();window.$isMan=n.isMan,window.$isFB=n.isFB,window.$isWeixin=n.isWeixin,e().catch(()=>{window.BM_LEVEL=2,window.BM_VALUE=399}),window.requestAnimationFrame=window.requestAnimationFrame||function(t){return window.setTimeout(t,16)},window.requestIdleCallback=window.requestIdleCallback||function(t){return window.setTimeout(()=>t({didTimeout:!1,timeRemaining:()=>50}),16)},window.QuizConfig=i;const o=function(t){const e=v(t),s=t.scripts.pageExtraLsKey;return window.$isMan?((()=>{try{return"1"===localStorage.getItem(s)}catch{return!1}})()?setTimeout(e,200):window.addEventListener("scroll",e,{once:!0}),e):()=>{}}(i);X=function(){if(!window.STATS_DATA)return Promise.resolve(!0);console.log("[QuizCore] STATS_DATA detected, loading answer-stats module...");const t=(async()=>{try{const t=await new Function("url","return import(/* webpackIgnore: true */ url)")(Z),e=t.AnswerStatsEngine||t.default;if(e){return(new e).start(),console.log("[QuizCore] Answer stats module loaded and started"),!0}return console.warn("[QuizCore] AnswerStatsEngine class not found in module"),!0}catch(t){return console.error("[QuizCore] Failed to load answer-stats module:",t),!0}})(),e=new Promise(t=>{setTimeout(()=>{console.warn("[QuizCore] Answer stats load timeout (3s), proceeding anyway"),t(!0)},3e3)});return Promise.race([t,e])}(),tt=new z(i,o,X),tt.init()},t.isInitialized=function(){return null!==tt},t.utils=et,t.version=K,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t}({});